import { Redirect, Route } from 'umi'
import React from 'react'
import Authorized from './Authorized'

const AuthorizedRoute = ({ component: Component, render, authority, redirectPath, ...rest }) => (
    <Authorized
        authority={authority}
        noMatch={
            <Route
                {...rest}
                render={() => (
                    <Redirect
                        to={{
                            pathname: redirectPath,
                        }}
                    />
                )}
            />
        }
    >
        <Route {...rest} render={props => (Component ? <Component {...props} /> : render(props))} />
    </Authorized>
)

export default AuthorizedRoute
